/*
	This file is part of Floculate.
	Copyright (C) 2008  Bill Whitacre

	Floculate is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	Floculate is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef SYSTEM_CORE_H
#define SYSTEM_CORE_H

#include <stdlib.h>
#include <stdio.h>
#include <GL/gl.h>

#include "keymap.h"

#ifdef __cplusplus
extern "C" {
#endif

int rat_start_system_core(char *name,unsigned int vw,
	unsigned int vh,unsigned int vbpp,int vfs);
void rat_stop_system_core();

void rat_video_size(unsigned int *vw,unsigned int *vh);

int rat_handle_events();
int rat_update_video();

void rat_get_mouse_position(float *x,float *y);
int rat_is_key_down(RAT_KEY_CODE key);
int rat_is_mouse_down(int button);

int rat_appterm_event();
int rat_resized_event();

#ifdef __cplusplus
};
#endif

#endif
